package cn.edu.csmzxy.rk233x.auth_system.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author wumxing
 * @date 2025/10/15 9:47
 * @description 用户实体
 */
@Data
@TableName("sys_user")  // 映射数据库表名
public class SysUser {
    @TableId(type = IdType.AUTO)  // 自增主键
    private Long id;
    @TableField("username")  // 字段名与属性名一致时可省略
    private String username;  // 登录账号
    private String password;  // 密码（BCrypt加密）
    private String realName;  // 真实姓名
    private Long deptId;  // 所属部门ID
    private Integer status;  // 状态（0-锁定，1-正常）
    @TableLogic  // 标记逻辑删除字段（与MyBatis-Plus全局配置对应）
    private Integer isDeleted;
    @TableField(fill = FieldFill.INSERT)  // 插入时自动填充
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)  // 插入/更新时自动填充
    private LocalDateTime updateTime;
    @TableField(exist = false)
    private List<SysRole> roleList;
}